Every day, several quintillion bytes of data may be created around the world. This data comes from everywhere: posts to social media sites, digital pictures and videos, purchase transaction records, bank transactions, sensors used to gather intelligence and data, such as climate information, cell phone GPS signal, and many others. This kind of data and its vast accumulation is often referred to as “big data.” An increasing amount of this data eventually is stored and maintained in solid-state storage drives (SSD), operated by an SSD controller, and these may reside on networks or on storage accessible via the Internet, which may be referred to as the “cloud.” This stored data may also require processing, or be subject to operations, such as read, write, erase, and/or during a search, query, encryption/decryption, compression, decompression, and other processes. These operations use power and cause a temperature increase in the SSD controller. Temperature increases in the SSD controller may degrade and slow performance in the controller.
An important function of a solid state drive (SSD) controller is power management. In an SSD, throttling techniques based on a static calibration may be used as an approach to power management. This approach requires allowing power margins to account for process, voltage and temperature variations on all SSD components including regulators, dynamic read-only-memory (DRAM), NAND flash devices, and the controller itself. The drawback of this approach is that in order to guarantee adequate margin to accommodate variations throughout the product life cycle there may be a significant loss in performance.
Thus, there is need for a system and method for managing power in an SSD, which provides performance near the highest performance achievable within an allocated power budget.